{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Notes:\n",
    " * tuned fresh and trained on toi data, with toi examples in the validation set\n",
    " * adding some of the scalar features into the vetting primry input"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['/mnt/tess/astronet/checkpoints/direct_8_run_1/1/AstroCNNModelVetting_direct_20211109_224901',\n",
       " '/mnt/tess/astronet/checkpoints/direct_8_run_1/2/AstroCNNModelVetting_direct_20211109_230213',\n",
       " '/mnt/tess/astronet/checkpoints/direct_8_run_1/3/AstroCNNModelVetting_direct_20211109_231508',\n",
       " '/mnt/tess/astronet/checkpoints/direct_8_run_1/4/AstroCNNModelVetting_direct_20211109_232803',\n",
       " '/mnt/tess/astronet/checkpoints/direct_8_run_1/5/AstroCNNModelVetting_direct_20211109_234049',\n",
       " '/mnt/tess/astronet/checkpoints/direct_8_run_1/6/AstroCNNModelVetting_direct_20211109_235335',\n",
       " '/mnt/tess/astronet/checkpoints/direct_8_run_1/7/AstroCNNModelVetting_direct_20211110_000620',\n",
       " '/mnt/tess/astronet/checkpoints/direct_8_run_1/8/AstroCNNModelVetting_direct_20211110_001928',\n",
       " '/mnt/tess/astronet/checkpoints/direct_8_run_1/9/AstroCNNModelVetting_direct_20211110_003248',\n",
       " '/mnt/tess/astronet/checkpoints/direct_8_run_1/10/AstroCNNModelVetting_direct_20211110_004550']"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import os\n",
    "\n",
    "chkpt_root = '/mnt/tess/astronet/checkpoints/direct_8_run_1'\n",
    "data_files = '/mnt/tess/astronet/tfrecords-vetting-7-toi-val/*'\n",
    "tces_file = '/mnt/tess/astronet/tces-vetting-v5-toi-val.csv'\n",
    "\n",
    "nruns = 10\n",
    "\n",
    "def load_ensemble(chkpt_root, nruns):\n",
    "    checkpts = []\n",
    "    for i in range(nruns):\n",
    "        parent = os.path.join(chkpt_root, str(i + 1))\n",
    "        if not os.path.exists(parent):\n",
    "            break\n",
    "        all_dirs = os.listdir(parent)\n",
    "        if not all_dirs:\n",
    "            break\n",
    "        d, = all_dirs\n",
    "        checkpts.append(os.path.join(parent, d))\n",
    "    return checkpts\n",
    "\n",
    "paths = load_ensemble(chkpt_root, nruns)\n",
    "paths"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Running model 1\n",
      "354 records\n",
      "Running model 2\n",
      "354 records\n",
      "Running model 3\n",
      "354 records\n",
      "Running model 4\n",
      "354 records\n",
      "Running model 5\n",
      "354 records\n",
      "Running model 6\n",
      "354 records\n",
      "Running model 7\n",
      "354 records\n",
      "Running model 8\n",
      "354 records\n",
      "Running model 9\n",
      "354 records\n",
      "Running model 10\n",
      "354 records\n"
     ]
    }
   ],
   "source": [
    "import getpass\n",
    "import os\n",
    "from astronet import predict\n",
    "import tensorflow as tf\n",
    "\n",
    "\n",
    "def run_predictions(path):\n",
    "    predict.FLAGS = predict.parser.parse_args([\n",
    "      '--model_dir', path,\n",
    "      '--data_files', data_files,\n",
    "      '--output_file', '',\n",
    "    ])\n",
    "\n",
    "    return predict.predict()\n",
    "\n",
    "\n",
    "paths = load_ensemble(chkpt_root, nruns)\n",
    "ensemble_preds = []\n",
    "config = None\n",
    "for i, path in enumerate(paths):\n",
    "    print(f'Running model {i + 1}')\n",
    "    preds, config = run_predictions(path)\n",
    "    ensemble_preds.append(preds.set_index('tic_id'))\n",
    "    print()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [],
   "source": [
    "labels = ['disp_p', 'disp_e', 'disp_n']\n",
    "\n",
    "col_p = labels.index('disp_p')\n",
    "# thresh = 0.1579816417694639\n",
    "thresh = 0.99"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [],
   "source": [
    "all_preds_table = ensemble_preds[0].copy()\n",
    "all_preds_table['model'] = 0\n",
    "\n",
    "for i in range(len(ensemble_preds[1:])):\n",
    "    tmp = ensemble_preds[i].copy()\n",
    "    tmp['model'] = i\n",
    "    all_preds_table = all_preds_table.append(tmp)\n",
    "    \n",
    "all_preds_table.to_csv('toi_ensemble_preds.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "\n",
    "agg_preds = {}\n",
    "\n",
    "mean_preds = preds.groupby(['tic_id']).mean()\n",
    "\n",
    "# for tic_id in mean_preds.index:\n",
    "#     agg_preds[tic_id] = []\n",
    "\n",
    "#     row = mean_preds[mean_preds.index == tic_id]\n",
    "#     pred_v = row.values[0]\n",
    "#     if len(row.values) > 1:\n",
    "#         print(f'Warning: duplicate predictions for {tic_id}')\n",
    "#     if pred_v[col_p] >= thresh:\n",
    "#         agg_preds[tic_id].append('disp_p')\n",
    "#     else:\n",
    "#         agg_preds[tic_id].append(mean_preds.columns[np.argmax(pred_v)])\n",
    "\n",
    "for preds in ensemble_preds:\n",
    "    for tic_id in mean_preds.index:\n",
    "        if tic_id not in agg_preds:\n",
    "            agg_preds[tic_id] = []\n",
    "\n",
    "        row = preds[preds.index == tic_id]\n",
    "        pred_v = row.values[0]\n",
    "        if len(row.values) > 1:\n",
    "            print(f'Warning: duplicate predictions for {tic_id}')\n",
    "        if pred_v[col_p] >= thresh:\n",
    "            agg_preds[tic_id].append('disp_p')\n",
    "        else:\n",
    "            agg_preds[tic_id].append(preds.columns[np.argmax(pred_v)])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {},
   "outputs": [],
   "source": [
    "final_preds = []\n",
    "for tic_id in list(agg_preds.keys()):\n",
    "    counts = {l: 0 for l in labels}\n",
    "    for e in agg_preds[tic_id]:\n",
    "        counts[e] += 1\n",
    "    maxcount = max(counts.values())\n",
    "    counts.update({\n",
    "        'tic_id': tic_id,\n",
    "        'maxcount': maxcount,\n",
    "    })\n",
    "    final_preds.append(counts)\n",
    "    \n",
    "final_preds = pd.DataFrame(final_preds).set_index('tic_id')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {},
   "outputs": [],
   "source": [
    "tce_table = pd.read_csv(tces_file, header=0).set_index('tic_id')\n",
    "tce_labels = tce_table[labels]\n",
    "\n",
    "pl = final_preds.join(tce_labels, on='tic_id', how='left', lsuffix='_p')\n",
    "\n",
    "pl.head()\n",
    "pd.set_option('display.max_columns', None)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Recall: 1.0\n",
      "Precision: 0.8208092485549133\n"
     ]
    }
   ],
   "source": [
    "ppos = (pl['disp_p_p'] > 0)\n",
    "pos = (pl['disp_p'] > 0)\n",
    "\n",
    "pneg = (pl['disp_p_p'] == 0)\n",
    "neg = (pl['disp_p'] == 0)\n",
    "\n",
    "print('Recall:', len(pl[ppos & pos]) / len(pl[pos]))\n",
    "print('Precision:', len(pl[ppos & pos]) / len(pl[ppos]))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {},
   "outputs": [],
   "source": [
    "for i in pl[pos & pneg][[]].join(tce_table, on='tic_id', how='left').index:\n",
    "    print(i)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "23826331\n",
      "24004619\n",
      "24491836\n",
      "30275619\n",
      "74934381\n",
      "98350979\n",
      "119774374\n",
      "137778682\n",
      "149854222\n",
      "255994336\n",
      "271903247\n",
      "276645751\n",
      "276936320\n",
      "278225267\n",
      "278866211\n",
      "280095254\n",
      "304729846\n",
      "307153959\n",
      "321828403\n",
      "344978642\n",
      "365494323\n",
      "372222115\n",
      "380783252\n",
      "384068226\n",
      "384744828\n",
      "388076435\n",
      "424876542\n",
      "457138169\n",
      "469782185\n",
      "1715469662\n",
      "1715469667\n"
     ]
    }
   ],
   "source": [
    "for i in pl[neg & ppos][[]].join(tce_table, on='tic_id', how='left').index:\n",
    "    print(i)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>disp_p</th>\n",
       "      <th>disp_e</th>\n",
       "      <th>disp_n</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tic_id</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1129033</th>\n",
       "      <td>0.948481</td>\n",
       "      <td>0.051030</td>\n",
       "      <td>0.000489</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1129033</th>\n",
       "      <td>0.957662</td>\n",
       "      <td>0.041880</td>\n",
       "      <td>0.000458</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1129033</th>\n",
       "      <td>0.982877</td>\n",
       "      <td>0.016772</td>\n",
       "      <td>0.000351</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1129033</th>\n",
       "      <td>0.908593</td>\n",
       "      <td>0.090588</td>\n",
       "      <td>0.000820</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1129033</th>\n",
       "      <td>0.895006</td>\n",
       "      <td>0.104184</td>\n",
       "      <td>0.000810</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1129033</th>\n",
       "      <td>0.964925</td>\n",
       "      <td>0.033950</td>\n",
       "      <td>0.001125</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1129033</th>\n",
       "      <td>0.938501</td>\n",
       "      <td>0.060876</td>\n",
       "      <td>0.000623</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1129033</th>\n",
       "      <td>0.948832</td>\n",
       "      <td>0.050647</td>\n",
       "      <td>0.000522</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1129033</th>\n",
       "      <td>0.902322</td>\n",
       "      <td>0.096588</td>\n",
       "      <td>0.001090</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1129033</th>\n",
       "      <td>0.938539</td>\n",
       "      <td>0.061108</td>\n",
       "      <td>0.000353</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           disp_p    disp_e    disp_n\n",
       "tic_id                               \n",
       "1129033  0.948481  0.051030  0.000489\n",
       "1129033  0.957662  0.041880  0.000458\n",
       "1129033  0.982877  0.016772  0.000351\n",
       "1129033  0.908593  0.090588  0.000820\n",
       "1129033  0.895006  0.104184  0.000810\n",
       "1129033  0.964925  0.033950  0.001125\n",
       "1129033  0.938501  0.060876  0.000623\n",
       "1129033  0.948832  0.050647  0.000522\n",
       "1129033  0.902322  0.096588  0.001090\n",
       "1129033  0.938539  0.061108  0.000353"
      ]
     },
     "execution_count": 63,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def compare(ensemble_preds, filter):\n",
    "    result = ensemble_preds[0][filter]\n",
    "    for preds in ensemble_preds[1:]:\n",
    "        result = result.append(preds[filter])\n",
    "    return result\n",
    "\n",
    "compare(ensemble_preds, preds.index == 1129033)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### PR curve"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {
    "scrolled": false
   },
   "outputs": [],
   "source": [
    "tics = set(ensemble_preds[0].index.values)\n",
    "\n",
    "tic_index = {v: i for i, v in enumerate(tics)}\n",
    "\n",
    "pred_ps = np.zeros([len(ensemble_preds), len(tic_index)])\n",
    "pred_es = np.zeros([len(ensemble_preds), len(tic_index)])\n",
    "pred_ns = np.zeros([len(ensemble_preds), len(tic_index)])\n",
    "for i, preds in enumerate(ensemble_preds):\n",
    "    for row in preds.iterrows():\n",
    "        tic, pred_p = row[0], row[1][col_p]\n",
    "        pred_ps[i][tic_index[tic]] = pred_p\n",
    "        pred_es[i][tic_index[tic]] = row[1][labels.index('disp_e')]\n",
    "        pred_ns[i][tic_index[tic]] = row[1][labels.index('disp_n')]\n",
    "\n",
    "lbl_ps = np.zeros([len(tic_index)], dtype=np.bool)\n",
    "bad_labels = []\n",
    "for row in tce_labels.iterrows():\n",
    "    tic, lbl_p = row[0], row[1]['disp_p']\n",
    "    if tic in tic_index:\n",
    "        lbl_ps[tic_index[tic]] = (lbl_p > 0)\n",
    "    else:\n",
    "        bad_labels.append(tic)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "metadata": {},
   "outputs": [],
   "source": [
    "num_cond_pos = float(np.sum(lbl_ps))\n",
    "\n",
    "def pr_at_th(th):\n",
    "    pred_pos = np.any(pred_ps >= th, axis=0)\n",
    "    true_pos = pred_pos & lbl_ps\n",
    "    num_pred_pos = int(np.sum(pred_pos))\n",
    "    num_true_pos = int(np.sum(true_pos))\n",
    "    if num_pred_pos == 0:\n",
    "        return 1.0, 0.0\n",
    "    return float(num_true_pos) / float(num_pred_pos), float(num_true_pos) / float(num_cond_pos)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "AUC: 0.9722333255511563, max R: 1.0, max P: 1.0\n",
      "100% recall at: 82%, threshold: 0.47649988079076544\n"
     ]
    },
    {
     "data": {
      "image/png": "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d7w+u+22G01NTTz44IM8//zz/do23nhjZs6cybx587jvvv5ru7a3t7PTTjsBcMcddww6YcyePZu2tjYeffRRnnrqqX5tM2fOZOONN2bhwoX8/e9/79fW1NTEbrvtBsDdd9896GSz3Xbbscoqq/DEE08wd+7cfm1rr702m222GZ2dnYO+14hg7733BrKf4cB/+FtuuSVrrLEGTz/9NA899FC/ttVXX52tt96aJUuWVPwZ7rHHHjQ2NvLAAw/w4osv9mubNWsW6667Li+88AJz5szp1zZ9+nR23HFHgIrH3WWXXWhtbeWRRx7hmWee6de2wQYbsOGGGzJ//nzuvvvufm0tLS286lWvAuCuu+4a9B/B9ttvz8orr8zcuXN54okn+rWts846vPKVr2TRokWD5jRlyhT23DOrMrvvvvsGney32morZsyYwVNPPcXDDz8M8PL3PGPGDLbaait6enoqfq977bUXEcH999/PSy+91K9t00035RWveAXPPfcc999/f7+2lVdeme23356UUsXj7rrrrjQ3N/PQQw/x3HPP9WvbaKONWH/99Zk3bx733ntvv7Zp06ax8847A3DnnXcO+g9mxx13ZPr06cydO5cnn3yyX9u6667LrFmzWLhwIXfeeWe/tqlTp7L77rsDcM899wz6z2mbbbZhtdVW49///jePPvpov7Y111yTLbbYgq6urorfq+eITD3OEY8//jgzZszwHDGGc0QfzxGZiXiO6HsT39vbO+jfI3iO6OP7iMzkOEdsz9Sdz2DjB89h7aeuGHSsqfddSPzzzzy88TtZ//BTaW5t8xzh+whgcp8jBv47n+iiiAvsRMRM4LHS7s9SSu9eTv/HyK7yeDClNGsc53E2cExp96cppaNG8/ovfOEL6wFzAd70pjcxY8aMl9saGxtpaWmht7f35f8E+t5olG+bfc1n9jVvn9C8+OKLzJkzh80335xp06b5Ke4of4Z+QjM5zhGLFi1izpw5L79R9xzhlR598nSO6Ozs5L777mOHHXYgIgYd13NExvcRmcl2jpj671tp+dtnB5e8lKS1tiIOPo3Fa27vOcL3EZP6HPHkk09y9tln9zXNPOWUU4atnqi3oiY91gD6UtQXpJTetpz+TwNrAveklCrcr2pMczgZ+HJp9xZgv5TSqFYjLU96nHjiiayyyirjMTVpwunt7WXJkiU0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\n",
      "text/plain": [
       "<Figure size 1200x740 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from matplotlib import pyplot as plt\n",
    "\n",
    "ps, rs, ths = ([], [], [])\n",
    "th = np.max(pred_ps)\n",
    "while th >= 0.0:\n",
    "    p, r = pr_at_th(th)\n",
    "    if p > 0:\n",
    "        ps.append(p)\n",
    "        rs.append(r)\n",
    "    else:\n",
    "        ps.append(1.0)\n",
    "        rs.append(0.0)\n",
    "    ths.append(th)\n",
    "    th -= 0.0005\n",
    "    \n",
    "from sklearn import metrics\n",
    "\n",
    "print(f'AUC: {metrics.auc(rs, ps)}, max R: {max(rs)}, max P: {max(ps)}')\n",
    "    \n",
    "i = len(rs) - 1\n",
    "while rs[i] == 1.0:\n",
    "    i -= 1\n",
    "i += 1\n",
    "print(f'100% recall at: {int(ps[i] * 100)}%, threshold: {ths[i]}')\n",
    "\n",
    "fig, ax = plt.subplots(figsize=(6, 3.7), dpi=200)\n",
    "\n",
    "ax.spines['top'].set_color('#808080')\n",
    "ax.spines['right'].set_color('#808080')\n",
    "ax.spines['left'].set_color('#808080')\n",
    "ax.spines['bottom'].set_color('#808080')\n",
    "ax.tick_params(direction='in', color='#808080')\n",
    "\n",
    "plt.grid(color='#c0c0c0', linestyle='--', linewidth=0.5)\n",
    "\n",
    "plt.ylabel('Precision', fontweight='bold')\n",
    "plt.xlabel('Recall', fontweight='bold')\n",
    "\n",
    "plt.xlim((0.0, 1.0))\n",
    "plt.ylim((0.0, 1.0))\n",
    "\n",
    "_ = plt.plot(rs, ps, marker='.')\n",
    "_ = plt.plot([0.0, 1.0], [1.0, 0.0])"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
